package cn.silver.framework.openapi.constant;

import lombok.Getter;

/**
 * 【Response返回状态的枚举类】
 *
 * @author Silver Zhou
 */
@Getter
public enum ResultEnum {

    /**********************通用日志信息***************************/

    /**
     * 操作成功
     **/
    SUCCESS(200, "操作成功"),
    /**
     * 操作失败
     **/
    FAIL(999, "操作失败"),
    /**
     * 服务端异常
     **/
    ERROR(500, "系统内部错误，请联系管理员处理"),
    /**
     * 对象创建成功
     **/
    CREATED(201, "对象创建成功"),
    /**
     * 请求已经被接受
     **/
    ACCEPTED(202, "请求已经被接受"),
    /**
     * 操作已经执行成功，但是没有返回数据
     **/
    NO_CONTENT(204, "操作已经执行成功，但是没有返回数据"),
    /**
     * 资源已被移除
     **/
    MOVED_PERM(301, "资源已被移除"),
    /**
     * 重定向
     */
    SEE_OTHER(303, "重定向"),
    /**
     * 资源没有被修改
     **/
    NOT_MODIFIED(304, "资源没有被修改"),
    /**
     * 参数列表错误（缺少，格式不匹配
     **/
    BAD_REQUEST(400, "参数列表错误（缺少，格式不匹配）"),
    /**
     * 未授权
     **/
    UNAUTHORIZED(401, "未授权"),
    /**
     * 访问受限，授权过期
     **/
    FORBIDDEN(403, "访问受限，授权过期"),
    /**
     * 资源，服务未找到
     **/
    NOT_FOUND(404, "资源，服务未找到"),
    /**
     * 不允许的http方法
     **/
    BAD_METHOD(405, "不允许的http方法"),
    /**
     * 资源冲突，或者资源被锁
     **/
    CONFLICT(409, "资源冲突，或者资源被锁"),
    /**
     * 不支持的数据，媒体类型
     **/
    UNSUPPORTED_TYPE(415, "不支持的数据，媒体类型"),
    /**
     * 接口未实现
     **/
    NOT_IMPLEMENTED(501, "接口未实现"),

    REPEAT_SUBMIT(1000, "不允许重复提交，请稍后再试"),

    DATA_VALIDATED_FAILED(1100, "数据验证失败"),
    DATA_ERROR_EXIST(1101, "数据已存在"),
    DATA_ERROR_NOT_FOUND(1102, "数据不存在"),


    DATA_CAPTCHA_OFF(2000, "验证码未启用"),
    DATA_CAPTCHA_FAIL(2001, "验证码不正确"),
    DATA_CAPTCHA_DEAD(2002, "验证码已过期"),



    OSS_UPLOAD_ERROT(3000, "文件上传异常"),

    /**********************操作权限应码***************************/
    PERM_NOT_CLOUD(1001, "没有操作权限"),
    SELF_CODE_NOT_FOUND(2000, "服务不存在或未启用"),
    SELF_NOT_REGISTER(2001, "服务不允许自助申请"),
    SELF_DATA_EXISTS(2002, "该手机号的应用申请正在流转中，无法发起申请"),
    SELF_USER_NOT_EXISTS(2003, "用户信息不存在或已停用"),
    SELF_ERROR(500, "服务请求异常"),

    /**********************系统对接响应码***************************/
    PLATFORM_SERVICE_NOT_ENABLE(3000, "服务未启用"),
    PLATFORM_SERVICE_NOT_FOUND(3001, "服务地址不存在"),
    PLATFORM_SERVICE_NOT_CONNECT(3002, "服务请求网络异常"),
    PLATFORM_SERVICE_PARAMS_ERROR(3003, "请求参数处理异常"),
    PLATFORM_SERVICE_SERVER_ERROR(3100, "服务请求异常"),
    PLATFORM_SERVICE_RESPONSE_ERROR(3101, "响应结果解析异常"),

    IAM_SERVICE_HR_NOT_HOST(4001, "HR系统未托管该组织，无法进行系统审核"),
    IAM_SERVICE_USER_NOT_FOUND(4002, "用户信息不存在，系统审核不通过"),
    ;

    // 成员变量
    private final Integer code;
    private final String message;

    ResultEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}
